package com.marktotop.response;

import lombok.Getter;

/**
 * 自定义返回码
 *
 * @author WXLD
 * @data 2021/6/6 - 9:08
 */
@Getter
public enum ResultCode {

    //状态码的定义不要使用常用的，使用自定义的状态码类型，你自己返回的状态码常常不够用的
    //************************* 基本处理 *********************************
    SUCCESS(true, 20000,"请求处理成功！"),
    NON_RESULT(true,20001,"请求处理成功,查询无结果!"),
    ERROR(false, 20002, "请求处理失败，请重试！"),
    //************************* 登录模块 *********************************
    LOGIN_USER_NOT_FOUND(false, 21001, "未找到登录用户，请重复确认或前往注册!"),
    LOGIN_PASSWORD_ERROR(false, 21002, "登录用户名或密码不正确，请重新输入！"),
    LOGIN_USER_NOT_ENABLE(false,21003,"登录账户已锁定(禁用)，请联系管理员！"),
    DENIED_AUTHORIZATION(false,21004,"权限不足，请联系管理员！"),
    DENIED_LOGIN(false,21005,"尚未登录，请登录后尝试访问！"),
    VALIDATE_CODE_ERROR(false,21006,"验证码输入错误，请重新输入！"),
    //************************* 异常处理 ******************************
    PARAM_ERROR(false, 22003, "参数不正确"),
    FILE_UPLOAD_ERROR(false, 22004, "文件上传错误"),
    FILE_SIZE_ERROR(false,22005,"文件大小超过限制，限制100MB以内"),
    FILE_DATA_ERROR(false, 22006, "校验文件内容失败!"),
    IMAGE_DATA_ERROR(false,22007,"image图片资源不合规范！"),

    DATABASE_ERROR(false,22010,"数据库存在异常，请联系管理员!"),
    SERVER_ERROR(false,22011,"服务器出现异常，请及时联系管理员!"),
    IO_ERROR(false,22012,"服务器出现IO异常，请及时联系管理员!"),
    REDIS_CONNECTION_ERROR(false,22013,"Redis服务器连接出现异常，请及时处理！"),
    HAS_FOREIGN_KEY(false,22014,"该数据含有关联数据,无法操作!"),
    //*****************************************************************************
    LOGIN_LOG_ERROR(false,23001,"登入日志不存在！");

    private Boolean success;

    private Integer code;

    private String message;

    private ResultCode(Boolean success, Integer code, String message) {
        this.success = success;
        this.code = code;
        this.message = message;
    }
}
